package com.cqs.example.io.serial;

import lombok.Data;

import java.io.Serializable;

/**
 * 1.Serializable 关键字
 * 2. 不显示指定serialVersionUID
 * 3. transient
 * 4. 包含有不可非Serializable的属性
 * 5. 静态变量
 *
 * @Author lixw
 * @Date 7/22/20 8:05 AM
 */
@Data
public class Bean1 implements Serializable {

    private String name = "bean1";

    private long id = System.currentTimeMillis();

    /**
     * 非Serializable属性需要使用transient修饰,否则报错(重写writeObject另说)
     */
//    private BeanUnSerial unSerial = new BeanUnSerial();
    private transient BeanUnSerial unSerial = new BeanUnSerial();

    /***
     * 不参与序列化
     * 反序列化的值
     */
    private transient int transientVal = 1000;


    public static  int no = 100;


    public static Bean1 mockBean0(){
        return new Bean1();
    }
}
